home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9701 / 000025_owner-urn-ietf _Thu Jan 30 13:41:22 1997.msg < prev    next >
Internet Message Format  |  1997-02-19  |  9KB

  1. Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id NAA06625 for urn-ietf-out; Thu, 30 Jan 1997 13:41:22 -0500
  2. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id NAA06613 for <urn-ietf@services.bunyip.com>; Thu, 30 Jan 1997 13:41:11 -0500
  3. Received: from sdgmail.ncsa.uiuc.edu by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  4.         id AA15531  (mail destined for urn-ietf@services.bunyip.com); Thu, 30 Jan 97 13:41:08 -0500
  5. Received: from void.ncsa.uiuc.edu (void [141.142.103.20]) by ncsa.uiuc.edu (8.8.5/8.8.5) with ESMTP id MAA05878; Thu, 30 Jan 1997 12:40:21 -0600 (CST)
  6. From: Daniel LaLiberte <liberte@ncsa.uiuc.edu>
  7. Received: (from liberte@localhost) by void.ncsa.uiuc.edu (8.8.2/8.8.2) id MAA27743; Thu, 30 Jan 1997 12:40:38 -0600 (CST)
  8. Date: Thu, 30 Jan 1997 12:40:38 -0600 (CST)
  9. Message-Id: <199701301840.MAA27743@void.ncsa.uiuc.edu>
  10. To: Keith Moore <moore@cs.utk.edu>
  11. Cc: Tim Berners-Lee <timbl@w3.org>, Daniel LaLiberte <liberte@ncsa.uiuc.edu>,
  12.         "Martin J. Duerst" <mduerst@ifi.unizh.ch>,
  13.         "Ron Daniel Jr." <rdaniel@lanl.gov>,
  14.         URL mailing list <ietf-url@imc.org>, urn-ietf@bunyip.com,
  15.         JCMa@AI.MIT.EDU
  16. Subject: [URN] Re: Relative URLs and URNs 
  17. In-Reply-To: <199701292335.SAA31944@ig.cs.utk.edu>
  18. References: <3.0.32.19970129174648.007c5900@hq.lcs.mit.edu>
  19.     <199701292335.SAA31944@ig.cs.utk.edu>
  20. Sender: owner-urn-ietf@services.bunyip.com
  21. Precedence: bulk
  22. Reply-To: Daniel LaLiberte <liberte@ncsa.uiuc.edu>
  23. Errors-To: owner-urn-ietf@bunyip.com
  24.  
  25. Keith Moore writes:
  26.  > > Keith, you make a good point that relative URIs are limited in
  27.  > > persistence to the persistence of the two URIs.
  28.  > 
  29.  > I don't know which two URIs you're talking about.
  30.  
  31. The two URIs are something like an http URL and a URN of some kind.  A
  32. relative URI could be relative to either kind of absolute URI.  Of
  33. course, if the scheme of an absolute URI does not support relative
  34. URIs, the URI could not be used as the base URI of a document.
  35.  
  36.  > The persistence problem, as I see it, comes from wiring
  37.  > non-persistent information into the URI -- in this case, the
  38.  > grouping of subsets of URI space -- and depending on that
  39.  > information to be persistent.
  40.  
  41. Relative URIs may or may not wire non-persistent information depending
  42. on how your resolution service works.  The grouping of subsets of a
  43. URI space is a grouping of the *identifiers*, but that does not
  44. necessarily mean that the *resources themselves* are similarly
  45. grouped.  A redirection can be returned by the resolution service for
  46. any part of the group pointing the client off to where the resource
  47. currently lives (or closer to it anyway).  In fact, a hierarchical
  48. subdivision of the group can make it even easier for the resolution
  49. service to provide that redirection, and more importantly, for the
  50. client to (more scalably) remember the redirection for a whole
  51. subdivision.  All this and a bit more is supported by the path
  52. scheme resolution mechanism.
  53.  
  54. Keith, you seem to be arguing not only against relative URNs but
  55. against any hierarchical structuring of the URN space.  The two issues
  56. are closely related since once you have hierarchical structuring, you
  57. can also easily have relative identifiers.  
  58.  
  59. What is the difference between always using absolute URNs such as
  60.  
  61.   urn://path/A/B/C/D.doc
  62.   urn://path/A/B/C/E.doc
  63.   
  64. and using relative URNs such as
  65.  
  66.   C/D.doc
  67.   C/E.doc
  68.  
  69. within a document having a base URN of
  70.  
  71.   urn://path/A/B/index.doc
  72.  
  73. It might be the case that for some resolution mechanisms, you resolve
  74. the relative part by itself in a different way than you resolve the
  75. corresponding absolute URI.  So you might not be able to resolve
  76. urn://path/A/B/C/D.doc directly but instead, after resolving
  77. urn://path/A/B/, you find out about some different kind of service (say
  78. an HTTP server) that you request C/D.doc from.
  79.  
  80.  > Tim B.L. said:
  81.  > > But Dan La L was right too in pointing out that the relative URI
  82.  > > may in fact be longer lived than the absolute. So it is not a
  83.  > > clear case.
  84.  > 
  85.  > Unless I misunderstood his argument, it seemed to be predicated on
  86.  > the idea that old name spaces will go away and need to be changed.
  87.  > But since the URN framework is specifically designed so that old name
  88.  > spaces do not need to be changed, I don't accept the premise.
  89.  
  90. The old name space may live forever with no problem - we only have to
  91. guarantee that the names are never used again - no problem (even for
  92. human-meaningful names).  The real problem is in finding a resolution
  93. service that will resolve the old names.  Say a name space is created
  94. in such a way that it is really difficult to actually resolve
  95. identifiers in a scalable way.  One way to solve this problem is to
  96. create a new name space with better resolution mechanisms.  The
  97. relative URIs in the documents could remain unchanged if both the old
  98. and new name spaces supported relative URIs.  
  99.  
  100. (Footnote: Another different kind of problem for finding a resolution
  101. service could occur if hardly anyone cares about the resources any
  102. more, no matter how scalable the resolution service might be.  The
  103. problem might be to find a cheap enough resolution service.)
  104.  
  105. (Footnote: Finding (looking up) a resolution service is an essential
  106. part of the resolution process.  You have to have a specific place
  107. (location/address) to start the lookup process.  That's what makes a
  108. name logically the same as an address, but we are not allowed to talk
  109. about that on the URN list - email me replies on that.)
  110.  
  111.  > As far as I can tell, if we're going to have persistent relative URNs
  112.  > (or equivalently, URNs that reference portions of a single resource)
  113.  > we're going to need a level of indirection for relative URNs just like
  114.  > we have for normal URNs.  
  115.  
  116. Yes, and providing that indirection is no more of a problem for
  117. relative URNs than for absolute URNs, depending on how your resolution
  118. service works.
  119.  
  120. If you are thinking only of resolution services that work with flat
  121. name spaces, then indeed relative URNs will be a problem.  Obviously,
  122. document writers will not be able to use URNs in non-hierarchical name
  123. spaces as base URIs.
  124.  
  125.  > That is, 
  126.  > 
  127.  > given a resource a1 with URN "A1" and a similar resource a2 with URN "A2",
  128.  > (for some meaning of "similar"), it's not reasonable to assume that
  129.  > the portion of a1 named by "A1/foo" is similar to the portion of
  130.  > a2 named by "A2/foo".
  131.  
  132. Correct. It would be an error to assume that.  Relative URNs can not
  133. be directly compared for equivalence without prepending the context of
  134. the base URN that makes them absolute.  If you know that A1 and A2
  135. are alternative (equivalent) URNs for the same resource, then you *do*
  136. know that "A1/foo" is equivalent to "A2/foo", otherwise you do not
  137. know they are equivalent.
  138.  
  139. The same is true of absolute and relative URLs, by the way.
  140.  
  141.  > My view is that since persistence is an important property of URNs,
  142.  > we should not define relative URNs (or URNs that specify portions of
  143.  > documents) until we understand how to define them without diluting
  144.  > the persistence of URNs.
  145.  
  146. Relative URNs do not dilute the persistence of URNs any more than
  147. hierarchically structured URNs are non-persistent.
  148.  
  149.  > If we disallow unencoded '/' within URNs for now, we can always add 
  150.  > relative URNs later when we understand them better.
  151.  
  152. True, but you would also be disallowing hierarchical name spaces such
  153. as the path scheme defines.  Understanding relative URNs is a good
  154. idea, but I don't understand why it is so difficult to understand
  155. them.
  156.  
  157. Earlier, regarding locations within a resource, you said,
  158.  
  159.  > Even then, I'm not sure what it means to talk about references 
  160.  > relative to a "Base URN" ...because this assumes that the "Base URN"
  161.  > will need to change while the intra-resource reference names 
  162.  > need to stay the same.  
  163.  
  164. Important difference: The base URN *may* change (e.g. to a newer
  165. better name space), while the intra-resource (or inter-resource - same
  166. can of worms) relative identifiers *need not* change.
  167.  
  168. All this talk of hierarchy should be extended to also include Tim's
  169. matrix space with relative URIs of the form ";name=value;name=value".
  170. John Mallery has suggested a URN scheme that is entirely matrix based.
  171. John, it might be useful for you to briefly describe it now.
  172. I need to give it more thought myself, to figure out how to make
  173. the resolution scalable.
  174.  
  175. --
  176. Daniel LaLiberte (liberte@ncsa.uiuc.edu)
  177. National Center for Supercomputing Applications
  178. http://union.ncsa.uiuc.edu/~liberte/